Generally, data integration involves the combination of data from different sources to provide meaningful information. For example, a user may query a variety of information about cities (such as weather, hotels, demographics, etc.). Traditionally, it was necessary for this information to be stored in a single database with, for example, a single schema. With data integration techniques, however, the data integration system may interact with multiple back-end processes to retrieve the data from various sources (e.g. databases).
Accordingly, when receiving the data from the various sources, the data integration system may aggregate the data using various integration techniques. In typical data integration systems, handling of such back-ends processes is performed using a fixed calling schedule. Based on the fixed calling schedule, however, it is often difficult for developers to share common processing logic for retrieving data. Accordingly, with new types of requests for data, a developer may have to re-implement back-end processing logic, which is often inefficient and error-prone.